import {createApp} from 'vue';
import './plugins/assets';
import {setupAppVersionNotification, setupDayjs, setupIconifyOffline, setupLoading, setupNProgress} from './plugins';
import {setupStore} from './store';
import {setupRouter} from './router';
import App from './App.vue';
import Vue3SeamlessScroll from 'vue3-seamless-scroll';

async function setupApp() {
    setupLoading();

    setupNProgress();

    setupIconifyOffline();

    setupDayjs();

    const app = createApp(App);

    setupStore(app);

    await setupRouter(app);
    app.use(Vue3SeamlessScroll);

    setupAppVersionNotification();
    app.mount('#app');
}

setupApp();
